package com.gs.wzmanager.dao.mapper;

import com.gs.wzmanager.entity.Resource;
import com.gs.wzmanager.entity.Role;
import com.gs.wzmanager.entity.User;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;


@Repository
public interface UserMapper {

    //增加用户
    void addUser(User user);

    //增加用户角色
    void addUserRole(@Param("userId") String userId, @Param("roleId") int roleId);

    //更新用户
    void updateSimpleUser(User user);

    //获取全部角色
    List<User> queryAllUser();

    //通过名称获取用户信息
    List<User> queryUserByName(@Param("name") String name);

    //通过名称获取用户信息
    User queryUserByPhone(@Param("phone") String phone);

    //通过id获取角色信息
    User queryUserById(@Param("userId") String userId);

    //获取某个用户所有角色
    List<Role> queryRoleByUserId(@Param("userId") String userId);

    //根据用户据id获取该用户可以访问的资源
    List<Resource> queryResourceByUserId(@Param("userId") String userId);

    //删除用户
    void deleteUser(@Param("userId") String userId);

    void deleteUserRoleByUserId(@Param("userId") String userId);
}
